package 作业;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * **训练目标**：掌握java中反射的基本使用
 * **需求描述**：用反射的方式运行run方法。
 * 已知一个类，定义如下：
 * 	package com.itheima;
 * 	public class DemoClass {
 * 		public void run() {
 * 			System.out.println("welcome to heima!");
 * 		        }    * 	}
 * - 获取DemoClass 的字节码Class
 * - 通过Class获取run方法对象
 * - 执行run方法对象
 */
public class Run_Reflect {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
        Class<?> aClass = Class.forName("作业.DemoClass");

        Method runMethod = aClass.getMethod("run");

        Object o = aClass.newInstance();

        runMethod.invoke(o);
    }
}
